<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html lang="en" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
  <meta name="generator" content="HTML Tidy for Mac OS X (vers 31 October 2006 - Apple Inc. build 13), see www.w3.org" />

  <title>About</title>
  <meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
  <link rel="stylesheet" href="includes/stylesheet.css" type="text/css" />
</head>

<body class="main">
  <!-- MAIN TABLE -->

  <table border="0" cellspacing="2" cellpadding="2">
    <tbody>
      <tr>
        <td class="links">
          <a href="index.html"><img src="includes/logo.png" alt="SMS logo" width="144" height="56" border="0" /></a> <!-- INSERT LINKS -->
  <div class="category">
    Format Conversion
  </div>

  <div class="program">
    <a href="combine_fasta.html" onmouseover="self.status='Combines multiple FASTA entries into a single sequence.'; return true;" onmouseout="self.status=' '; return true;">-Combine FASTA</a><br />
    <a href="embl_fasta.html" onmouseover="self.status='Returns the entire sequence contained in an EMBL file in FASTA format.'; return true;" onmouseout="self.status=' '; return true;">-EMBL to FASTA</a><br />
    <a href="embl_feat.html" onmouseover="self.status='Parses the feature table of an EMBL file and returns the feature sequences.'; return true;" onmouseout="self.status=' '; return true;">-EMBL Feature Extractor</a><br />
    <a href="embl_trans.html" onmouseover="self.status='Parses the feature table of an EMBL file and returns the protein translations.'; return true;" onmouseout="self.status=' '; return true;">-EMBL Trans Extractor</a><br />
    <a href="filter_dna.html" onmouseover="self.status='Removes non-DNA characters from text.'; return true;" onmouseout="self.status=' '; return true;">-Filter DNA</a><br />
    <a href="filter_protein.html" onmouseover="self.status='Removes non-protein characters from text.'; return true;" onmouseout="self.status=' '; return true;">-Filter Protein</a><br />
    <a href="genbank_fasta.html" onmouseover="self.status='Returns the entire sequence contained in a GenBank file in FASTA format.'; return true;" onmouseout="self.status=' '; return true;">-GenBank to FASTA</a><br />
    <a href="genbank_feat.html" onmouseover="self.status='Parses the feature table of a GenBank file and returns the feature sequences.'; return true;" onmouseout="self.status=' '; return true;">-GenBank Feature Extractor</a><br />
    <a href="genbank_trans.html" onmouseover="self.status='Parses the feature table of a GenBank file and returns the protein translations.'; return true;" onmouseout="self.status=' '; return true;">-GenBank Trans Extractor</a><br />
    <a href="one_to_three.html" onmouseover="self.status='Converts single letter amino acid codes to three letter codes.'; return true;" onmouseout="self.status=' '; return true;">-One to Three</a><br />
    <a href="range_extract_dna.html" onmouseover="self.status='Reads a list of positions and ranges and returns those parts of a DNA sequence.'; return true;" onmouseout="self.status=' '; return true;">-Range Extractor DNA</a><br />
    <a href="range_extract_protein.html" onmouseover="self.status='Reads a list of positions and ranges and returns those parts of a protein sequence.'; return true;" onmouseout="self.status=' '; return true;">-Range Extractor Protein</a><br />
    <a href="rev_comp.html" onmouseover="self.status='Determines the reverse-complement, reverse, or complement of the sequence you enter.'; return true;" onmouseout="self.status=' '; return true;">-Reverse Complement</a><br />
    <a href="split_codons.html" onmouseover="self.status='Separates bases according to codon position.'; return true;" onmouseout="self.status=' '; return true;">-Split Codons</a><br />
    <a href="split_fasta.html" onmouseover="self.status='Converts a FASTA sequence into multiple sequences.'; return true;" onmouseout="self.status=' '; return true;">-Split FASTA</a><br />
    <a href="three_to_one.html" onmouseover="self.status='Converts three letter amino acid codes to one letter codes.'; return true;" onmouseout="self.status=' '; return true;">-Three to One</a><br />
    <a href="window_extract_dna.html" onmouseover="self.status='Returns DNA sequence segments specified by a position and window size.'; return true;" onmouseout="self.status=' '; return true;">-Window Extractor DNA</a><br />
    <a href="window_extract_protein.html" onmouseover="self.status='Returns protein sequence segments specified by a position and window size.'; return true;" onmouseout="self.status=' '; return true;">-Window Extractor Protein</a>
  </div>

  <div class="category">
    Sequence Analysis
  </div>

  <div class="program">
    <a href="codon_plot.html" onmouseover="self.status='Plots codon frequency (according to the codon table you enter) for each codon in a DNA sequence.'; return true;" onmouseout="self.status=' '; return true;">-Codon Plot</a><br />
    <a href="codon_usage.html" onmouseover="self.status='Returns a standard codon usage table.'; return true;" onmouseout="self.status=' '; return true;">-Codon Usage</a><br />
    <a href="cpg_islands.html" onmouseover="self.status='Returns a list of potential CpG islands.'; return true;" onmouseout="self.status=' '; return true;">-CpG Islands</a><br />
    <a href="dna_mw.html" onmouseover="self.status='Calculates the molecular weight of DNA sequences.'; return true;" onmouseout="self.status=' '; return true;">-DNA Molecular Weight</a><br />
    <a href="dna_pattern.html" onmouseover="self.status='Returns positions of the patterns you enter.'; return true;" onmouseout="self.status=' '; return true;">-DNA Pattern Find</a><br />
    <a href="dna_stats.html" onmouseover="self.status='Returns basic sequence statistics.'; return true;" onmouseout="self.status=' '; return true;">-DNA Stats</a><br />
    <a href="fuzzy_search_dna.html" onmouseover="self.status='Returns sequences that are identical or similar to a query sequence.'; return true;" onmouseout="self.status=' '; return true;">-Fuzzy Search DNA</a><br />
    <a href="fuzzy_search_protein.html" onmouseover="self.status='Returns sequences that are identical or similar to a query sequence.'; return true;" onmouseout="self.status=' '; return true;">-Fuzzy Search Protein</a><br />
    <a href="ident_sim.html" onmouseover="self.status='Accepts aligned sequences in FASTA format and calculates the identity and similarity of each sequence pair.'; return true;" onmouseout="self.status=' '; return true;">-Ident and Sim</a><br />
    <a href="multi_rev_trans.html" onmouseover="self.status='Can be used to predict a DNA sequence in another species using a protein sequence alignment.'; return true;" onmouseout="self.status=' '; return true;">-Multi Rev Trans</a><br />
    <a href="mutate_for_digest.html" onmouseover="self.status='Finds DNA sequences that can easily be converted to a restriction site.'; return true;" onmouseout="self.status=' '; return true;">-Mutate for Digest</a><br />
    <a href="orf_find.html" onmouseover="self.status='Determines the positions of open reading frames.'; return true;" onmouseout="self.status=' '; return true;">-ORF Finder</a><br />
    <a href="pairwise_align_codons.html" onmouseover="self.status='Returns the optimal global alignment for two coding DNA sequences.'; return true;" onmouseout="self.status=' '; return true;">-Pairwise Align Codons</a><br />
    <a href="pairwise_align_dna.html" onmouseover="self.status='Returns the optimal global alignment for two DNA sequences.'; return true;" onmouseout="self.status=' '; return true;">-Pairwise Align DNA</a><br />
    <a href="pairwise_align_protein.html" onmouseover="self.status='Returns the optimal global alignment for two protein sequences.'; return true;" onmouseout="self.status=' '; return true;">-Pairwise Align Protein</a><br />
    <a href="pcr_primer_stats.html" onmouseover="self.status='Returns a report describing PCR primer properties'; return true;" onmouseout="self.status=' '; return true;">-PCR Primer Stats</a><br />
    <a href="pcr_products.html" onmouseover="self.status='Generates PCR products from a template and two primer sequences.'; return true;" onmouseout="self.status=' '; return true;">-PCR Products</a><br />
    <a href="protein_gravy.html" onmouseover="self.status='Returns the grand average of hydropathy value of protein sequences.'; return true;" onmouseout="self.status=' '; return true;">-Protein GRAVY</a><br />
    <a href="protein_iep.html" onmouseover="self.status='Returns the predicted isoelectric point of protein sequences.'; return true;" onmouseout="self.status=' '; return true;">-Protein Isoelectric Point</a><br />
    <a href="protein_mw.html" onmouseover="self.status='Calculates the molecular weight of protein sequences.'; return true;" onmouseout="self.status=' '; return true;">-Protein Molecular Weight</a><br />
    <a href="protein_pattern.html" onmouseover="self.status='Returns positions of the patterns you enter.'; return true;" onmouseout="self.status=' '; return true;">-Protein Pattern Find</a><br />
    <a href="protein_stats.html" onmouseover="self.status='Returns basic sequence statistics.'; return true;" onmouseout="self.status=' '; return true;">-Protein Stats</a><br />
    <a href="rest_digest.html" onmouseover="self.status='Converts the sequence you enter into restriction fragments.'; return true;" onmouseout="self.status=' '; return true;">-Restriction Digest</a><br />
    <a href="rest_summary.html" onmouseover="self.status='Returns the number and positions of restriction sites.'; return true;" onmouseout="self.status=' '; return true;">-Restriction Summary</a><br />
    <a href="rev_trans.html" onmouseover="self.status='Can be used to convert protein into DNA.'; return true;" onmouseout="self.status=' '; return true;">-Reverse Translate</a><br />
    <a href="translate.html" onmouseover="self.status='Returns the translation in the reading frame you specify.'; return true;" onmouseout="self.status=' '; return true;">-Translate</a>
  </div>

  <div class="category">
    Sequence Figures
  </div>

  <div class="program">
    <a href="color_align_cons.html" onmouseover="self.status='Colors a sequence alignment based on sequence conservation.'; return true;" onmouseout="self.status=' '; return true;">-Color Align Conservation</a><br />
    <a href="color_align_prop.html" onmouseover="self.status='Colors a protein alignment based on biochemical properties of residues.'; return true;" onmouseout="self.status=' '; return true;">-Color Align Properties</a><br />
    <a href="group_dna.html" onmouseover="self.status='Numbers and groups DNA according to your specifications.'; return true;" onmouseout="self.status=' '; return true;">-Group DNA</a><br />
    <a href="group_protein.html" onmouseover="self.status='Numbers and groups amino acids according to your specifications.'; return true;" onmouseout="self.status=' '; return true;">-Group Protein</a><br />
    <a href="primer_map.html" onmouseover="self.status='Shows PCR primer annealing sites, translations, and restriction sites.'; return true;" onmouseout="self.status=' '; return true;">-Primer Map</a><br />
    <a href="rest_map.html" onmouseover="self.status='Shows restriction sites and protein translations.'; return true;" onmouseout="self.status=' '; return true;">-Restriction Map</a><br />
    <a href="trans_map.html" onmouseover="self.status='Shows protein translations.'; return true;" onmouseout="self.status=' '; return true;">-Translation Map</a>
  </div>

  <div class="category">
    Random Sequences
  </div>

  <div class="program">
    <a href="mutate_dna.html" onmouseover="self.status='Introduces random mutations into DNA sequences.'; return true;" onmouseout="self.status=' '; return true;">-Mutate DNA</a><br />
    <a href="mutate_protein.html" onmouseover="self.status='Introduces random mutations into protein sequences.'; return true;" onmouseout="self.status=' '; return true;">-Mutate Protein</a><br />
    <a href="random_coding_dna.html" onmouseover="self.status='Generates a random coding sequence of the length you specify.'; return true;" onmouseout="self.status=' '; return true;">-Random Coding DNA</a><br />
    <a href="random_dna.html" onmouseover="self.status='Generates a random DNA sequence of the length you specify.'; return true;" onmouseout="self.status=' '; return true;">-Random DNA Sequence</a><br />
    <a href="random_dna_regions.html" onmouseover="self.status='Replaces regions of the DNA sequences you enter with random bases.'; return true;" onmouseout="self.status=' '; return true;">-Random DNA Regions</a><br />
    <a href="random_protein.html" onmouseover="self.status='Generates a random protein sequence of the length you specify.'; return true;" onmouseout="self.status=' '; return true;">-Random Protein Sequence</a><br />
    <a href="random_protein_regions.html" onmouseover="self.status='Replaces regions of the protein sequences you enter with random residues.'; return true;" onmouseout="self.status=' '; return true;">-Random Protein Regions</a><br />
    <a href="sample_dna.html" onmouseover="self.status='Samples bases from a DNA sequence with replacement.'; return true;" onmouseout="self.status=' '; return true;">-Sample DNA</a><br />
    <a href="sample_protein.html" onmouseover="self.status='Samples residues from a protein sequence with replacement.'; return true;" onmouseout="self.status=' '; return true;">-Sample Protein</a><br />
    <a href="shuffle_dna.html" onmouseover="self.status='Randomly shuffles the DNA sequences you enter.'; return true;" onmouseout="self.status=' '; return true;">-Shuffle DNA</a><br />
    <a href="shuffle_protein.html" onmouseover="self.status='Randomly shuffles the protein sequences you enter.'; return true;" onmouseout="self.status=' '; return true;">-Shuffle Protein</a>
  </div>

  <div class="category">
    Miscellaneous
  </div>

  <div class="program">
    <a href="iupac.html" onmouseover="self.status='IUPAC codes for DNA and protein.'; return true;" onmouseout="self.status=' '; return true;">-IUPAC codes</a><br />
    <a href="genetic_code.html" onmouseover="self.status='The genetic codes used in the Sequence Manipulation Suite.'; return true;" onmouseout="self.status=' '; return true;">-Genetic codes</a><br />
    <a href="browser_compat.html" onmouseover="self.status='Browser compatibility.'; return true;" onmouseout="self.status=' '; return true;">-Browser compatibility</a><br />
    <a href="mirror.html" onmouseover="self.status='Mirror the Sequence Manipulation Suite.'; return true;" onmouseout="self.status=' '; return true;">-Mirror this site</a><br />
    <a href="mirror.html" onmouseover="self.status='Use the Sequence Manipulation Suite off-line.'; return true;" onmouseout="self.status=' '; return true;">-Use this site off-line</a><br />
    <a href="about.html" onmouseover="self.status='About the Sequence Manipulation Suite.'; return true;" onmouseout="self.status=' '; return true;">-About this site</a><br />
    <a href="acknowledgments.html" onmouseover="self.status='Acknowledgments.'; return true;" onmouseout="self.status=' '; return true;">-Acknowledgments</a><br />
    <a href="reference.html" onmouseover="self.status='Citing the Sequence Manipulation Suite.'; return true;" onmouseout="self.status=' '; return true;">-Reference</a>
  </div>
<!-- END INSERT LINKS -->

          <div class="copyright">
            <br />
            The Sequence Manipulation Suite Copyright &copy; 2000, 2004 Paul Stothard. Send questions and comments to stothard@ualberta.ca
          </div>

          <center>
            <div class="program">
              <a href="index.html" target="_top">home</a>
            </div>
          </center>
        </td><!-- PROGRAM CONTENT -->

        <td class="program">
          <table border="0" cellspacing="0" cellpadding="2">
            <tbody>
              <tr>
                <td class="sms">Sequence Manipulation Suite:</td>
              </tr>

              <tr>
                <td class="title">About</td>
              </tr>

              <tr>
                <td class="description">
                  The Sequence Manipulation Suite is written in JavaScript 1.5, which is a lightweight, cross-platform, object-oriented scripting language. JavaScript is now standardized by the ECMA (European Computer Manufacturers Association). The first version of the ECMA standard is documented in the ECMA-262 specification. The ECMA-262 standard is also approved by the ISO (International Organization for Standards) as ISO-16262. JavaScript 1.5 is fully compatible with ECMA-262, Edition 3.<br />
                  <br />
                  Sequences submitted to the Sequence Manipulation Suite do not leave your computer and are instead manipulated by your web browser, which executes the JavaScript. The Sequence Manipulation Suite was written by Paul Stothard (University of Alberta, Canada). Send questions and comments to <a href="mailto:stothard@ualberta.ca">stothard@ualberta.ca</a>.<br />
                  <br />
                  Here are short descriptions of the programs that comprise the Sequence Manipulation Suite:<br />
                  <br />
                  <b>Format Conversion:</b>

                  <ul>
                    <li><b>Combine FASTA</b> - converts multiple FASTA sequence records into a single sequence. Use Combine FASTA, for example, when you wish to determine the codon usage for a collection of sequences using a program that accepts a single sequence as input.</li>

                    <li><b>EMBL to FASTA</b> - accepts one or more EMBL files as input and returns the DNA sequence from each in FASTA format. Use this program when you wish to quickly remove all of the non-DNA sequence information from an EMBL file.</li>

                    <li><b>EMBL Feature Extractor</b> - accepts one or more EMBL files as input and reads the sequence feature information described in the feature tables. The program extracts or highlights the relevant sequence segments and returns each sequence feature in FASTA format. EMBL Feature Extractor is particularly helpful when you wish to derive the sequence of a cDNA from a genomic sequence that contains many introns.</li>

                    <li><b>EMBL Trans Extractor</b> - accepts one or more EMBL files as input and returns each of the protein translations described in the files in FASTA format. EMBL Trans Extractor can be used when you are more interested in the predicted protein translations of a DNA sequence than the DNA sequence itself.</li>

                    <li><b>Filter DNA</b> - removes non-DNA characters from text. Use this program when you wish to remove digits and blank spaces from a sequence to make it suitable for other applications.</li>

                    <li><b>Filter Protein</b> - removes non-protein characters from text. Use this program when you wish to remove digits and blank spaces from a sequence to make it suitable for other applications.</li>

                    <li><b>GenBank to FASTA</b> - accepts one or more GenBank files as input and returns the entire DNA sequence from each in FASTA format. Use this program when you wish to quickly remove all of the non-DNA sequence information from a GenBank file.</li>

                    <li><b>GenBank Feature Extractor</b> - accepts one or more GenBank files as input and reads the sequence feature information described in the feature tables, according to the rules outlined in the GenBank release notes. The program extracts or highlights the relevant sequence segments and returns each sequence feature in FASTA format. GenBank Feature Extractor is particularly helpful when you wish to derive the sequence of a cDNA from a genomic sequence that contains many introns.</li>

                    <li><b>GenBank Trans Extractor</b> - accepts one or more GenBank files as input and returns each of the protein translations described in the files in FASTA format. GenBank Trans Extractor should be used when you are more interested in the predicted protein translations of a DNA sequence than the DNA sequence itself.</li>

                    <li><b>One to Three</b> - converts single letter translations to three letter translations.</li>

                    <li><b>Range Extractor DNA</b> - accepts one or more DNA sequences along with a set of positions or ranges. The bases corresponding to the positions or ranges are returned, either as a single new sequence, a set of FASTA records, uppercase text, or lowercase text. Use Range Extractor DNA to obtain subsequences using position information.</li>

                    <li><b>Range Extractor Protein</b> - accepts one or more protein sequences along with a set of positions or ranges. The residues corresponding to the positions or ranges are returned, either as a single new sequence, a set of FASTA records, uppercase text, or lowercase text. Use Range Extractor Protein to obtain subsequences using position information.</li>

                    <li><b>Reverse Complement</b> - converts a DNA sequence into its reverse, complement, or reverse-complement counterpart. The entire IUPAC DNA alphabet is supported, and the case of each input sequence character is maintained. You may want to work with the reverse-complement of a sequence if it contains an ORF on the reverse strand.</li>

                    <li><b>Split Codons</b> - divides a coding sequence into three new sequences, each consisting of the bases from one of the three codon positions.</li>

                    <li><b>Split FASTA</b> - divides FASTA sequence records into smaller FASTA sequences of the size you specify. An optional overlap value can be used to create sequences that overlap.</li>

                    <li><b>Three to One</b> - converts three letter translations to single letter translations. Digits and blank spaces are removed automatically. Non-standard triplets are ignored.</li>

                    <li><b>Window Extractor DNA</b> - accepts one or more DNA sequences along with a position and window size. The bases located in the window are returned, either as a new sequence, uppercase text, or lowercase text. Use Window Extractor DNA to obtain subsequences using position information.</li>

                    <li><b>Window Extractor Protein</b> - accepts one or more protein sequences along with a position and window size. The residues located in the window are returned, either as a new sequence, uppercase text, or lowercase text. Use Window Extractor Protein to obtain subsequences using position information.</li>

                  </ul><b>Sequence Analysis:</b>

                  <ul>
                    <li><b>Codon Plot</b> - accepts a DNA sequence and generates a graphical plot consisting of a horizontal bar for each codon. The length of the bar is proportional to the frequency of the codon in the codon frequency table you enter. Use Codon Plot to find portions of DNA sequence that may be poorly expressed, or to view a graphic representation of a codon usage table (by using a DNA sequence consisting of one of each codon type).</li>

                    <li><b>Codon Usage</b> - accepts one or more DNA sequences and returns the number and frequency of each codon type. Since the program also compares the frequencies of codons that code for the same amino acid (synonymous codons), you can use it to assess whether a sequence shows a preference for particular synonymous codons.</li>

                    <li><b>CpG Islands</b> - reports potential CpG island regions using the method described by <a href="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?cmd=Retrieve&amp;db=PubMed&amp;list_uids=3656447&amp;dopt=Abstract" target="_blank">Gardiner-Garden and Frommer (1987)</a>. The calculation is performed using a 200 bp window moving across the sequence at 1 bp intervals. CpG islands are defined as sequence ranges where the Obs/Exp value is greater than 0.6 and the GC content is greater than 50%. The expected number of CpG dimers in a window is calculated as the number of 'C's in the window multiplied by the number of 'G's in the window, divided by the window length. CpG islands are often found in the 5' regions of vertebrate genes, therefore this program can be used to highlight potential genes in genomic sequences.</li>

                    <li><b>DNA Molecular Weight</b> - accepts one or more DNA sequences and calculates molecular weight. Sequences can be treated as double-stranded or single-stranded, and as linear or circular. Use DNA Molecular Weight when calculating molecule copy number.</li>

                    <li><b>DNA Pattern Find</b> - accepts one or more sequences along with a search pattern and returns the number and positions of sites that match the pattern. The search pattern is written as a JavaScript regular expression, which resembles the regular expressions written in other programming languages, such as Perl.</li>

                    <li><b>DNA Stats</b> - returns the number of occurrences of each residue in the sequence you enter. Percentage totals are also given for each residue, and for certain groups of residues, allowing you to quickly compare the results obtained for different sequences.</li>

                    <li><b>Fuzzy Search DNA</b> - accepts a DNA sequence along with a query sequence and returns sites that are identical or similar to the query. You can use this program, for example, to find sequences that can be easily mutated into a useful restriction site.</li>

                    <li><b>Fuzzy Search Protein</b> - accepts a protein sequence along with a query sequence and returns sites that are identical or similar to the query.</li>

                    <li><b>Ident and Sim</b> - accepts a group of aligned sequences (in FASTA or GDE format) and calculates the identity and similarity of each sequence pair. Identity and similarity values are often used to assess whether or not two sequences share a common ancestor or function.</li>

                    <li><b>Mutate for Digest</b> - accepts a DNA sequence as input and searches for regions that can easily be mutated to create a restriction site of interest. The program also reports protein translations so that you can see which reading frames are altered by the proposed mutations. Use Mutate for Digest to find sequences that can be converted to a useful restriction site using PCR or site-directed mutagenesis.</li>

                    <li><b>Multi Rev Trans</b> - accepts a protein alignment and uses a codon usage table to generate a degenerate DNA coding sequence. The program also returns a graph that can be used to find regions of minimal degeneracy at the nucleotide level. Use Multi Rev Trans when designing PCR primers to anneal to an unsequenced coding sequence from a related species.</li>

                    <li><b>ORF Finder</b> - searches for open reading frames (ORFs) in the DNA sequence you enter. The program returns the range of each ORF, along with its protein translation. ORF Finder supports the entire IUPAC alphabet and several genetic codes. Use ORF Finder to search newly sequenced DNA for potential protein encoding segments.</li>

                    <li><b>Pairwise Align Codons</b> - accepts two coding sequences and determines the optimal global alignment. Use Pairwise Align Codons to look for conserved coding sequence regions.</li>

                    <li><b>Pairwise Align DNA</b> - accepts two DNA sequences and determines the optimal global alignment. Use Pairwise Align DNA to look for conserved sequence regions.</li>

                    <li><b>Pairwise Align Protein</b> - accepts two protein sequences and determines the optimal global alignment. Use Pairwise Align Protein to look for conserved sequence regions.</li>

                    <li><b>PCR Primer Stats</b> - accepts a list of PCR primer sequences and returns a report describing the properties of each primer, including melting temperature, percent GC content, and PCR suitability. Use PCR Primer Stats to evaluate potential PCR primers.</li>

                    <li><b>PCR Products</b> - accepts one or more DNA sequence templates and two primer sequences. The program searches for perfectly matching primer annealing sites that can generate a PCR product. Any resulting products are sorted by size, and they are given a title specifying their length, their position in the original sequence, and the primers that produced them. You can use linear or circular molecules as the template. Use PCR Products to determine the product sizes you can expect to see when you perform PCR in the lab.</li>

                    <li><b>Protein GRAVY</b> - Protein GRAVY returns the GRAVY (grand average of hydropathy) value for the protein sequences you enter. The GRAVY value is calculated by adding the hydropathy value for each residue and dividing by the length of the sequence (<a href="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?cmd=Retrieve&amp;db=PubMed&amp;list_uids=7108955&amp;dopt=Abstract" target="_blank">Kyte and Doolittle; 1982</a>).</li>

                    <li><b>Protein Isoelectric Point</b> - calculates the theoretical pI (isoelectric point) for the protein sequence you enter. Use Protein Isoelectric Point when you want to know approximately where on a 2-D gel a particular protein will be found.</li>

                    <li><b>Protein Molecular Weight</b> - accepts one or more protein sequences and calculates molecular weight. You can append copies of commonly used epitopes and fusion proteins using the supplied list. Use Protein Molecular Weight when you wish to predict the location of a protein of interest on a gel in relation to a set of protein standards.</li>

                    <li><b>Protein Pattern Find</b> - accepts one or more sequences along with a search pattern and returns the number and positions of sites that match the pattern. The search pattern is written as a JavaScript regular expression, which resembles the regular expressions written in other programming languages, such as Perl.</li>

                    <li><b>Protein Stats</b> - returns the number of occurrences of each residue in the sequence you enter. Percentage totals are also given for each residue, and for certain groups of residues, allowing you to quickly compare the results obtained for different sequences.</li>

                    <li><b>Restriction Digest</b> - cleaves a DNA sequence in a virtual restriction digest, with one, two, or three restriction enzymes. The resulting fragments are sorted by size, and they are given a title specifying their length, their position in the original sequence, and the enzyme sites that produced them. You can digest linear or circular molecules, and even a mixture of molecules (by entering more than one sequence in FASTA format). Use Restriction Digest to determine the fragment sizes you will see when you perform a digest in the lab.</li>

                    <li><b>Restriction Summary</b> - accepts a DNA sequence and returns the number and positions of commonly used restriction endonuclease cut sites. Use this program if you wish to quickly determine whether or not an enzyme cuts a particular segment of DNA.</li>

                    <li><b>Reverse Translate</b> - accepts a protein sequence as input and uses a codon usage table to generate a DNA sequence representing the most likely non-degenerate coding sequence. A consensus sequence derived from all the possible codons for each amino acid is also returned. Use Reverse Translate when designing PCR primers to anneal to an unsequenced coding sequence from a related species.</li>

                    <li><b>Translate</b> - accepts a DNA sequence and converts it into a protein in the reading frame you specify. Translate supports the entire IUPAC alphabet and several genetic codes.</li>
                  </ul><b>Sequence Figures:</b>

                  <ul>
                    <li><b>Color Align Conservation</b> - accepts a group of aligned sequences (in FASTA or GDE format) and colors the alignment. The program examines each residue and compares it to the other residues in the same column. Residues that are identical among the sequences are given a black background, and those that are similar among the sequences are given a gray background. The remaining residues receive a white background. You can specify the percentage of residues that must be identical and similar for the coloring to be applied. Use Color Align Conservation to enhance the output of sequence alignment programs.</li>

                    <li><b>Color Align Properties</b> - accepts a group of aligned sequences (in FASTA or GDE format) and colors the alignment. The program examines each residue and compares it to the other residues in the same column. Residues that are identical or similar among the sequences are given a colored background. The color is chosen according to the biochemical properties of the residue. You can specify the percentage of residues that must be identical and similar for the coloring to be applied. Use Color Align Properties to highlight protein regions with conserved biochemical properties.</li>

                    <li><b>Group DNA</b> - adjusts the spacing of DNA sequences and adds numbering. You can specify the group size (the number of bases per group), as well as the number of bases per line. The output of this program can serve as a convenient reference, since the numbering and spacing allows you to quickly locate specific bases.</li>

                    <li><b>Group Protein</b> - adjusts the spacing of protein sequences and adds numbering. You can specify the group size (the number of residues per group), as well as the number of residues per line. The output of this program can serve as a convenient reference, since the numbering and spacing allows you to quickly locate specific residues.</li>

                    <li><b>Primer Map</b> - accepts a DNA sequence and returns a textual map showing the annealing positions of PCR primers. Restriction endonuclease cut sites, and the protein translations of the DNA sequence can also be shown. Use this program to produce a useful reference figure, particularly when you have designed a large number of primers for a particular template. Primer Map supports the entire IUPAC alphabet and several genetic codes.</li>

                    <li><b>Restriction Map</b> - accepts a DNA sequence and returns a textual map showing the positions of restriction endonuclease cut sites. The translation of the DNA sequence is also given, in the reading frame you specify. Use the output of this program as a reference when planning cloning strategies. Restriction Map supports the entire IUPAC alphabet and several genetic codes.</li>

                    <li><b>Translation Map</b> - accepts a DNA sequence and returns a textual map displaying protein translations. The reading frame of the translation can be specified (1, 2, 3, or all three), or you can choose to treat uppercase text as the reading frame. Translation Map supports the entire IUPAC alphabet and several genetic codes.</li>
                  </ul><b>Random Sequences:</b>

                  <ul>
                    <li><b>Mutate DNA</b> - introduces base changes into a DNA sequence. You can select the number of mutations to introduce, and whether or not to preserve the first and last three bases in the sequence, to reflect selection acting to maintain start and stop codons. The position of each mutation is chosen randomly, and multiple mutations can occur at a single site. Mutated sequences can be used to evaluate the significance of sequence analysis results.</li>

                    <li><b>Mutate Protein</b> - introduces residue changes into a protein sequence. You can select the number of mutations to introduce, and whether or not to preserve the first residue in the sequence, to reflect selection acting to maintain a start codon. The position of each mutation is chosen randomly, and multiple mutations can occur at a single site. Mutated sequences can be used to evaluate the significance of sequence analysis results.</li>

                    <li><b>Random Coding DNA</b> - generates a random open reading frame beginning with a start codon and ending with a stop codon. You can choose the genetic code to use and the length of the sequence to generate. Random sequences can be used to evaluate the significance of sequence analysis results.</li>

                    <li><b>Random DNA Sequence</b> - generates random sequences of the length you specify. Random sequences can be used to evaluate the significance of sequence analysis results.</li>

                    <li><b>Random DNA Regions</b> - replaces regions of DNA sequences with random bases. Random sequences can be used to evaluate the significance of sequence analysis results.</li>

                    <li><b>Random Protein Sequence</b> - generates random sequences of the length you specify. Random sequences can be used to evaluate the significance of sequence analysis results.</li>

                    <li><b>Random Protein Regions</b> - replaces regions of protein sequences with random residues. Random sequences can be used to evaluate the significance of sequence analysis results.</li>

                    <li><b>Sample DNA</b> - randomly selects bases from the guide sequence until a sequence of the length you specify is constructed. Each selected base is replaced so that it can be selected again.</li>

                    <li><b>Sample Protein</b> - randomly selects bases from the guide sequence until a sequence of the length you specify is constructed. Each selected residue is replaced so that it can be selected again.</li>

                    <li><b>Shuffle DNA</b> - randomly shuffles a DNA sequence. Shuffled sequences can be used to evaluate the significance of sequence analysis results, particularly when sequence composition is an important consideration.</li>

                    <li><b>Shuffle Protein</b> - randomly shuffles a protein sequence. Shuffled sequences can be used to evaluate the significance of sequence analysis results, particularly when sequence composition is an important consideration.</li>
                  </ul><br />

                  <center>
                    <a href="about.html" target="_blank">new window</a> | <a href="index.html">home</a> | <a href="reference.html">citation</a>
                  </center><span class="version">Tue Jun 15 14:20:11 2010</span>
                </td>
              </tr>

              <tr>
                <td><img style="border:0;width:88px;height:31px" src="includes/valid-xhtml10.png" alt="Valid XHTML 1.0!" height="31" width="88" /> <img style="border:0;width:88px;height:31px" src="includes/vcss.png" alt="Valid CSS!" /></td>
              </tr>
            </tbody>
          </table><!-- MAIN TABLE END -->
        </td>
      </tr>
    </tbody>
  </table>
</body>
</html>
